Daniele Procida - Minds, machines and Python
[19 July 2016 / 2016-07-19]
[Bilbao, Euskadi, Spain]
Are we looking in the wrong direction for artificial intelligence and
I'll discuss an older but perhaps more satisfying approach, that has
been neglected in recent years.
It begins with questions in logic and language, and can be explored
using easy techniques. I'll use simple Python programs to explore
three key notions in this AI research: **loops**, **self-reference**
and **tangled hierarchies**, themselves directly reflected in
important programming concepts.
In recent years, we've seen interesting and spectacular successes in
artificial intelligence and machine learning, made possible by leaps
in computing power and techniques able to harvest vast quantities of
The results are uncanny. We see them everywhere, from the personal
assistants built into smartphones to the neural networks that do an
astounding job of recognising images. However, they're also
susceptible to the criticism that they represent not intelligence but
a mere simulation of it, and that producing a convincing simulacrum
has become more important than a genuine search for intelligence or
At the same time, another, perhaps deeper, approach has become
neglected in recent decades, along with the questions it asks about
the nature of mind, intelligence and learning. This approach begins
with fundamental questions in logic and language, and can be explored
using some of the simplest programming techniques.
In this talk, I'll use simple Python programs to explore three key
notions in this strand of artificial intelligence research: *loops*,
*self-reference* and *tangled hierarchies*. The way these concepts
directly reflect important concepts in programming suggests that for
the programmer, this approach could be more interesting and
satisfying, and simply more **fun,** than using huge ontologies and
big data to create mere simulacra of intelligence.
The examples I use will be concrete and easy to understand, even for